您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

CABAC译码器的二回合量化

  • 申请号:CN200980105157.8 申请公布号: CN101946515B
  • 申请日: 2009-02-20 申请公布日: 2014-07-16
  • 申请(专利权)人: 专利代理机构: 北京律盟知识产权代理有限责任公司
  • 分类号:H04N19/124;H04N19/147;H04N19/1

专利介绍

本发明描述用于量化视频译码过程的视频块的系数的技术,所述视频译码过程支持基于上下文的自适应二进制算术译码(CABAC)。一种方法可包含:估计所述视频块的最后非零系数;以及基于所述所估计的最后非零系数实际上为所述视频块的所述最后非零系数的假设而产生所述视频块的经量化系数集合。
1.一种量化视频译码过程的视频块的系数的方法,所述视频译码过程支持基于上下文的自适应二进制算术译码(CABAC),所述方法包含:估计所述视频块的最后非零系数,其中估计所述视频块的所述最后非零系数包括约计与经由所述CABAC对所述视频块进行译码相关联的成本,其中所述经约计的成本中的不同者对应于为所述最后非零系数的不同系数,其中所述所估计的最后非零系数界定最低经约计的成本;以及基于所述所估计的最后非零系数实际上为所述视频块的所述最后非零系数的假设而产生所述视频块的经量化系数集合,其中产生所述经量化系数集合包含计算与具有等于零、下取整数值和上取整数值的值的所述视频块的所述经量化系数集合中的每一可能非零经量化系数相关联的拉格朗日成本。
2.根据权利要求1所述的方法,其进一步包含输出所述所产生的经量化系数集合。
3.根据权利要求2所述的方法,其进一步包含:接收所述所产生的经量化系数集合;对所述所产生的经量化系数集合执行所述CABAC以将所述所产生的经量化系数集合熵译码成位流;以及输出所述位流。
4.根据权利要求1所述的方法,其进一步包含通过依序将所述视频块的所述系数中的每一者视作所述最后非零系数而以连续方式界定所述经约计成本中的所述不同者。
5.根据权利要求4所述的方法,其进一步包含通过在将所述视频块的所述系数中的每一者视作所述最后非零系数时依序向上和向下调整经积累成本而界定所述经约计成本中的所述不同者。
6.根据权利要求1所述的方法,其中所述下取整数值是基于所述视频块的所述系数中的个别一者的绝对值、量化参数和量化矩阵,且其中所述上取整数值包含所述下取整数值加一。
7.一种经配置以量化视频译码过程的视频块的系数的设备,所述视频译码过程支持基于上下文的自适应二进制算术译码(CABAC),所述设备包含:量化单元,其:估计所述视频块的最后非零系数,其中估计所述视频块的所述最后非零系数包括约计与经由所述CABAC对所述视频块进行译码相关联的成本,其中所述经约计的成本中的不同者对应于为所述最后非零系数的不同系数,其中所述所估计的最后非零系数界定最低经约计的成本;以及基于所述所估计的最后非零系数实际上为所述视频块的所述最后非零系数的假设,通过计算与具有等于零、下取整数值和上取整数值的值的所述视频块的经量化系数集合中的每一可能非零经量化系数相关联的拉格朗日成本,而产生所述视频块的所述经量化系数集合。
8.根据权利要求7所述的设备,其中所述量化单元输出所述所产生的经量化系数集合。
9.根据权利要求8所述的设备,其进一步包含CABAC单元,所述CABAC单元:接收所述所产生的经量化系数集合;对所述所产生的经量化系数集合执行所述CABAC以将所述所产生的经量化系数集合熵译码成位流;以及输出所述位流。
10.根据权利要求7所述的设备,其中所述量化单元通过依序将所述视频块的所述系数中的每一者视作所述最后非零系数而以连续方式界定所述经约计成本中的所述不同者。
11.根据权利要求10所述的设备,其中所述量化单元通过在将所述视频块的所述系数中的每一者视作所述最后非零系数时依序向上和向下调整经积累成本而界定所述经约计成本中的所述不同者。
12.根据权利要求7所述的设备,其中所述下取整数值是基于所述视频块的所述系数中的个别一者的绝对值、量化参数和量化矩阵,且其中所述上取整数值包含所述下取整数值加一。
13.根据权利要求7所述的设备,其中所述设备包含集成电路。
14.根据权利要求7所述的设备,其中所述设备包含微处理器。
15.一种量化视频译码过程的视频块的系数的装置,所述视频译码过程支持基于上下文的自适应二进制算术译码(CABAC),所述装置包含:用于估计所述视频块的最后非零系数的装置,其中用于估计所述视频块的所述最后非零系数的装置包括用于约计与经由所述CABAC对所述视频块进行译码相关联的成本的装置,其中所述经约计的成本中的不同者对应于为所述最后非零系数的不同系数,其中所述所估计的最后非零系数界定最低经约计的成本;以及用于基于所述所估计的最后非零系数实际上为所述视频块的所述最后非零系数的假设而产生所述视频块的经量化系数集合的装置,其中所述用于产生所述经量化系数集合的装置包含用于计算与具有等于零、下取整数值和上取整数值的值的所述视频块的所述经量化系数集合中的每一可能非零经量化系数相关联的拉格朗日成本的装置。
16.根据权利要求15所述的装置,其进一步包含用于输出所述所产生的经量化系数集合的装置。
17.根据权利要求16所述的装置,其进一步包含:用于接收所述所产生的经量化系数集合的装置;用于对所述所产生的经量化系数集合执行所述CABAC以将所述所产生的经量化系数集合熵译码成位流的装置;以及用于输出所述位流的装置。
18.根据权利要求15所述的装置,其进一步包含用于通过依序将所述视频块的所述系数中的每一者视作所述最后非零系数而以连续方式界定所述经约计成本中的所述不同者的装置。
19.根据权利要求18所述的装置,其进一步包含用于通过在将所述视频块的所述系数中的每一者视作所述最后非零系数时依序向上和向下调整经积累成本而界定所述经约计成本中的所述不同者的装置。
20.根据权利要求15所述的装置,其中所述下取整数值是基于所述视频块的所述系数中的个别一者的绝对值、量化参数和量化矩阵,且其中所述上取整数值包含所述下取整数值加一。
21.一种经配置以量化视频译码过程的视频块的系数的装置,所述视频译码过程支持基于上下文的自适应二进制算术译码(CABAC),所述装置包含译码单元和发射器,所述译码单元包括量化单元和CABAC单元,其中所述量化单元:估计所述视频块的最后非零系数,其中估计所述视频块的所述最后非零系数包括约计与经由所述CABAC对所述视频块进行译码相关联的成本,其中所述经约计的成本中的不同者对应于为所述最后非零系数的不同系数,其中所述所估计的最后非零系数界定最低经约计的成本;基于所述所估计的最后非零系数实际上为所述视频块的所述最后非零系数的假设,通过计算与具有等于零、下取整数值和上取整数值的值的所述视频块的经量化系数集合中的每一可能非零经量化系数相关联的拉格朗日成本,而产生所述视频块的所述经量化系数集合;以及输出所述所产生的经量化系数集合;且其中所述CABAC单元:接收所述所产生的经量化系数集合;对所述所产生的经量化系数集合执行所述CABAC以将所述所产生的经量化系数集合熵译码成位流;以及输出所述位流;且其中所述发射器发射所述位流。
22.根据权利要求21所述的装置,其中所述装置包含无线通信装置。
23.根据权利要求22所述的装置,其中所述装置包括调制器,所述调制器在所述发射器发射所述位流之前调制所述位流。本申请案主张2008年1月8日申请的第61/019,830号美国临时申请案和2008年2月21日申请的第61/030,454号美国临时申请案的优先权,上述申请案的全部内容以引用的方式并入本文中。技术领域
本发明涉及数字视频译码,且更特定来说,涉及用于支持基于上下文的自适应二进制算术译码(CABAC)的视频译码过程的量化技术。
背景技术
数字视频能力可并入到广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话等。数字视频装置实施例如MPEG-2、MPEG-4或ITU-Txa0H.264/MPEG-4第十部分:高级视频译码(AVC)的视频压缩技术,以更有效地发射和接收数字视频信息。视频压缩技术执行空间预测和时间预测以减小或移除视频序列中所固有的冗余。帧内译码依赖于空间预测来减小或移除给定译码单元内的视频块之间的空间冗余,给定译码单元可包含视频帧、视频帧的切片、图片的群组或视频块的另一界定单元。相比而言,帧间译码依赖于时间预测来减小或移除视频序列的连续译码单元的视频块之间的时间冗余。对于帧内译码,视频编码器执行空间预测以基于相同译码单元内的其它数据来压缩数据。对于帧间译码,视频编码器执行运动估计和运动补偿以追踪两个或两个以上相邻译码单元的对应视频块的移动。可由可用于建立或识别预测块的预测信息并指示正经译码的块与预测块之间的差异的数据的残余块表示经译码的视频块。在帧间译码的情况下,一个或一个以上运动向量用于识别数据的预测块,而在帧内译码的情况下,预测模式可用于产生预测块。帧内译码和帧间译码均可界定若干不同预测模式,所述模式可界定不同块大小和/或用于译码的预测技术。还可包括额外类型的语法元素以作为经编码的视频数据的部分来控制或界定用于译码过程的译码技术或参数。在基于块的预测译码之后,视频编码器可应用变换、量化和熵译码过程以进一步减小与残余块的通信相关联的位速率。变换技术可包含离散余弦变换或概念上类似的过程。或者,可使用小波变换、整数变换或其它类型的变换。在离散余弦变换(DCT)过程中,作为一实例,变换过程将像素值的一集合转换为可表示频域中的像素值的能量的变换系数。将量化应用于变换系数,且量化通常涉及限制与任何给定变换系数相关联的位的数目的过程。熵译码包含共同地压缩经量化的变换系数的序列的一个或一个以上过程。基于上下文的自适应二进制算术译码(CABAC)为当前在一些译码标准(例如ITU-TH.264/MPEG4,AVC标准)中支持的一类型的熵译码技术。CABAC可涉及若干阶段,包括二值化、上下文模型选择和二进制算术译码。在二值化中,将任何非二进制符号映射到二进制序列(有时候被称作二进制串)。在上下文模型化中,将模型概率分布指派到正经译码的元素(例如,符号)。接着,在后续二进制算术译码阶段中,将经指派的概率分布用于执行译码以便产生位的序列,所述位序列根据经指派的模型概率分布而形成正经译码的元素的经译码表示。CABAC过程可通过知晓元素在给定内容中的概率而无损地压缩界定视频流的元素。CABAC通常比例如内容自适应可变长度译码(CAVLC)技术的其它熵译码技术更有效率地压缩数据,但可能对解码器方面要求相当复杂的处理。ITUxa0H.264/AVC设定中的CABAC较全面地描述于以下出版物中:由德特勒夫·马佩(Detlevxa0Marpe)、黑寇·施沃兹(Heikoxa0Schwarz)和托马斯·维干德(Thomasxa0Wiegand)在2003年7月发表于“IEEE用于视频技术的电路和系统汇刊(IEEExa0Translationsxa0onxa0Circuitsxa0andxa0Systemsxa0forxa0Videoxa0Technology)”第13卷第7号中的“H.264/AVC视频压缩标准中的基于上下文的自适应二进制算术译码(Context-basedxa0Adaptivexa0Binaryxa0Arithmeticxa0Codingxa0inxa0thexa0H.264/AVCVideoxa0Compressionxa0Standard)”。
发明内容
一般来说,本发明描述可用于量化视频译码过程的视频块的系数的量化技术,所述视频译码过程支持基于上下文的自适应二进制算术译码(CABAC)。所描述的技术可通过在量化过程期间执行和/或估计CABAC步骤中的一些步骤而在量化过程期间考虑到CABAC。所述技术可用于在视频译码的量化步骤中实现译码速率与失真之间的合意平衡。根据所述技术,可执行二回合过程。(例如)在将视频块的不同系数视作最后非零系数的连续回合中,在第一回合中,估计视频块的最后非零系数。接着,在第二回合中,基于所估计的最后非零系数实际上为最后非零系数的假设而产生所有系数。在一个实例中,本发明提供一种量化支持CABAC的视频译码过程的视频块的系数的方法。所述方法包含:估计视频块的最后非零系数;以及基于所估计的最后非零系数实际上为视频块的最后非零系数的假设而产生视频块的经量化系数集合。在另一实例中,本发明提供一种经配置以量化支持CABAC的视频译码过程的视频块的系数的设备。所述设备包含:量化单元,其估计视频块的最后非零系数,且基于所估计的最后非零系数实际上为视频块的最后非零系数的假设而产生视频块的经量化系数集合。在另一实例中,本发明提供一种量化支持CABAC的视频译码过程的视频块的系数的装置。所述装置包含:用于估计视频块的最后非零系数的装置;以及用于基于所估计的最后非零系数实际上为视频块的最后非零系数的假设而产生视频块的经量化系数集合的装置。在另一实例中,本发明提供一种经配置以量化支持CABAC的视频译码过程的视频块的系数的装置,所述装置包含译码单元和发射器,译码单元包括量化单元和CABAC单元。量化单元估计视频块的最后非零系数,基于所估计的最后非零系数实际上为视频块的最后非零系数的假设而产生视频块的经量化系数集合,且输出所产生的经量化系数集合。CABAC单元接收所产生的经量化系数集合,对所产生的经量化系数集合执行CABAC以将所产生的经量化系数集合熵译码成位流,且输出位流。发射器发射位流。可以硬件、软件、固件或其任何组合来实施本发明中所描述的技术。如果以软件实施,则软件可执行于例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)等一个或一个以上处理器中。执行所述技术的软件最初可存储于计算机可读媒体中且被加载于处理器中并执行。因此,本发明还涵盖一种计算机可读媒体,其包含在执行后致使装置量化支持CABAC的视频译码过程中的视频块的系数的指令,其中指令致使装置估计视频块的最后非零系数,且基于所估计的最后非零系数实际上为视频块的最后非零系数的假设而产生视频块的经量化系数集合。在附图和以下描述中阐述本发明的一个或一个以上方面的细节。将从描述和图式且从权利要求书明白本发明中所描述的技术的其它特征、目标和优势。
附图说明
图1为说明视频编码和解码系统的示范性框图。图2为说明与本发明一致的视频编码器的实例的框图。图3为说明四乘四元素视频块的曲折扫描的概念图。图4为说明与本发明一致的视频解码器的实例的框图。图5到图10为说明与本发明一致的技术的流程图。
具体实施方式
图1为说明可实施本发明的技术的一个示范性视频编码和解码系统10的框图。如图1中所展示,系统10包括源装置12,其经由通信信道15将经编码的视频发射到目的地装置16。源装置12和目的地装置16可包含广泛范围的装置中的任一者。在一些情况下,源装置12和目的地装置16包含无线通信装置(例如无线手持机,所谓的蜂窝式或卫星无线电电话)或可经由通信信道15传送视频信息的任何无线装置(在所述情况下,通信信道15为无线的)。然而,涉及量化的本发明的技术未必限制于无线应用或设定。在图1的实例中,源装置12可包括视频源20、视频编码器22、调制器/解调器(调制解调器)23和发射器24。目的地装置16可包括接收器26、调制解调器27、视频解码器28和显示装置30。根据本发明,源装置12的视频编码器22可经配置以应用考虑基于上下文的自适应二进制算术译码(CABAC)的效应的量化技术。以此方式,源装置12可实现所要水平的量化且借此改进编码过程。图1的所说明的系统10仅为示范性的。可由支持CABAC的任一编码装置来执行本发明的量化技术。源装置12仅为所述编码装置的一个实例。本发明的量化技术可包括量化支持CABAC的视频译码过程的视频块的系数以用于熵译码。在此情况下,视频编码器22可产生视频块的经量化系数的多个集合,其中基于视频块的系数中的特定一者对应于视频块的最后非零系数的假设来界定经量化系数集合中的每一者。最后非零系数可取决于所使用的扫描(例如曲折扫描)次序。视频编码器22可估计与经由CABAC而对视频块进行译码相关联的多个成本(其中所估计成本分别基于经量化系数集合中的不同者),且选择经量化系数集合中的与最低成本相关联的给定一者。可将此方法称作一回合方法,在所述一回合方法中,在将不同系数视作视频块的最后非零系数的单一回合中针对经量化系数的不同集合中的每一者产生所估计成本。或者,本发明的量化技术可遵循二回合方法。在此情况下,所述技术可包括:在第一回合中估计视频块的最后非零系数;以及接着基于所估计的最后非零系数实际上为视频块的最后非零系数的假设而在第二回合中产生视频块的经量化系数集合。本发明提出经组合的一回合方法和二回合方法两者。在经组合的一回合方法中,可将每一可能系数视作最后非零系数,且针对作为最后非零系数的不同系数而产生经量化系数的许多可能集合。然而,在二回合方法中,估计技术用于估计最后非零系数,且仅可在所估计的最后非零系数固定为最后非零系数的单一情况下产生和考虑经量化系数集合。经组合的一回合方法可比一回合方法更加计算密集,但可在一些情况下产生更准确的结果。各种额外技术可用于减小一回合方法的计算复杂性。相对于一回合方法,二回合方法可显著减小复杂性,且在许多情况下,相对于一回合方法,二回合方法中的译码质量的降低可为可忽略的。一般来说,源装置12产生用于发射到目的地装置16的经译码的视频数据。然而,在一些情况下,装置12、16可以大体上对称的方式操作。举例来说,装置12、16中的每一者可包括视频编码和解码组件。因此,系统10可支持视频装置12、16之间的单向或双向视频发射,例如,以用于视频串流、视频播放、视频广播或视频电话。源装置12的视频源20可包括例如摄像机等视频俘获装置、含有先前俘获的视频的视频档案、或来自视频内容提供者的视频馈送。作为另一替代情况,视频源20可产生基于计算机图形的数据作为源视频,或产生直播视频、所存档的视频与计算机产生的视频的组合。在一些情况下,如果视频源20为摄像机,则源装置12和目的地装置16可形成所谓的相机电话或视频电话。在每一情况下,可由视频编码器22对经俘获、经预俘获或计算机产生的视频进行编码。可接着由调制解调器23根据例如码分多址(CDMA)或另一通信标准的通信标准调制经编码的视频信息,且经由发射器24将其发射到目的地装置16。调制解调器23可包括各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包括经设计以用于发射数据的电路,包括放大器、滤波器和一个或一个以上天线。目的地装置16的接收器26经由信道15接收信息,且调制解调器27解调所述信息。而且,视频编码过程可实施本文中所描述的技术以改进量化过程。由视频解码器28执行的视频解码过程可在重新建构视频序列中执行反量化。显示装置28向用户显示经解码的视频数据,且可包含例如阴极射线管、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置等多种显示装置中的任一者。在图1的实例中,通信信道15可包含任何无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理传输线、或无线媒体与有线媒体的任何组合。通信信道15可形成例如局域网、广域网或全球网(例如,因特网)等基于包的网络的部分。通信信道15一般表示用于将视频数据从源装置12发射到目的地装置16的任何合适的通信媒体或不同通信媒体的集合。视频编码器22和视频解码器28可根据支持CABAC的视频压缩标准(例如ITU-TH.264标准,或者被描述为MPEG-4第十部分:高级视频译码(AVC))而操作。尽管未在图1中展示,但在一些方面中,视频编码器22和视频解码器28可各自与音频编码器和解码器集成,且可包括适当的MUX-DEMUX单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频与视频两者的编码。如果适用,则MUX-DEMUX单元可符合ITUxa0H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。ITU-Txa0H.264/MPEG-4(AVC)标准由ITU-T视频译码专家组(VCEG)与ISO/IEC移动图片专家组(MPEG)一起制定以作为被称作联合视频小组(JVT)的合作伙伴关系的产物。在一些方面中,可将本发明中所描述的技术应用于大体上符合H.264标准的装置。H.264标准由ITU-T研究组描述于2005年3月的ITU-T推荐标准H.264“用于通用视听服务的高级视频译码(Advancedxa0Videoxa0Codingxa0forxa0genericxa0audiovisualxa0services)”中,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)不断致力于对H.264/MPEG-4-AVC的扩展。可将视频编码器22和视频解码器28各自实施为一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件、或其任何组合。可将视频编码器22和视频解码器28中的每一者包括于一个或一个以上编码器或解码器中,其任一者可在相应移动装置、订户装置、广播装置、服务器等中集成为组合的编码器/解码器(CODEC)的部分。视频序列通常包括一系列视频帧。视频编码器22对个别视频帧内的视频块操作以便对视频数据进行编码。视频块可具有固定或不同的大小,且其大小可根据所规定的译码标准而不同。每一视频帧包括一系列切片。每一切片可包括可布置成子块的一系列宏块。作为一实例,ITU-Txa0H.264标准支持各种块大小的帧内预测(例如,对于亮度分量来说为16×16、8×8或4×4,且对于色度分量来说为8×8)以及各种块大小的帧间预测(例如,对于亮度分量来说为16×16、16×8、8×16、8×8、8×4、4×8和4×4,且对于色度分量来说为对应的经缩放的大小)。视频块可包含像素数据的块或变换系数的块,(例如)在例如离散余弦变换或概念上类似的变换过程等变换过程之后。本发明的量化技术通常应用于经变换的视频块的变换系数。较小视频块可提供较好分辨率,且可用于定位包括高细节水平的视频帧。一般来说,可将宏块(MB)和各种子块视为视频块。另外,可将切片视为一系列视频块(例如,MB和/或子块)。每一切片可为一视频帧的一可独立解码的单位。在预测之后,可对8×8残余块或4×4残余块执行变换,且如果使用帧内_16×16预测模式,则可将额外变换应用于色度分量或亮度分量的4×4块的DC系数。此外,在变换之后,仍可将数据称作视频块,即,变换系数的块。术语“系数”通常指代变换系数,但或者可指代其它类型的系数或值(例如像素值),或另一类型的系数。在基于帧内或帧间的预测译码和变换技术(例如,用于H.264/AVC中的4×4或8×8整数变换或离散余弦变换DCT)之后,可执行量化。在下文中将更详细地论述量化,但通常指代将系数量化以有可能减小用于表示系数的数据的量的过程。量化过程可减小与所述系数中的一些或全部相关联的位深度。举例来说,可在量化期间将8位值下舍入到7位值。本发明的量化技术考虑到将执行CABAC的事实。具体来说,在量化之后,可根据CABAC方法来执行熵译码。本发明以可实现速率和失真的合意平衡的方式提供用于量化视频块的系数的技术。所描述的技术实施CABAC的估计,以便改进量化并(例如)以通信速率的给定位预算(bitxa0budget)实现所要水平的质量。根据本发明的技术,视频编码器22可产生视频块的经量化系数的多个集合,其中基于视频块的系数中的特定一者对应于视频块的最后非零系数的假设来界定经量化系数集合中的每一者。视频编码器22可估计与经由CABAC而对视频块进行译码相关联的多个成本(其中所估计成本分别基于经量化系数集合中的不同者),且选择经量化系数集合中的与最低成本相关联的给定一者。视频编码器22可将经量化系数的选定集合用于视频块的量化。将此方法称作一回合方法。或者,本发明的量化技术可遵循二回合方法。在此情况下,视频编码器22可在第一回合中估计视频块的最后非零系数,且接着基于所估计的最后非零系数实际上为视频块的最后非零系数的假设而在第二回合中产生视频块的经量化系数集合。在二回合方法中,将估计技术用于估计最后非零系数,且仅可在所估计的最后非零系数实际上为最后非零系数的情况下考虑经量化系数集合。单独的估计回合可消除执行与不具有作为最后非零系数的正确系数的经量化系数集合相关联的计算的需要。图2为说明视频编码器50的实例的框图,所述视频编码器50包括执行与本发明一致的残余系数的量化的速率失真(RD)量化单元40。视频编码器50可对应于装置20的视频编码器22或不同装置的视频编码器。视频编码器50可执行视频帧内的块的帧内译码和帧间译码。帧内译码依赖于空间预测来减小或移除给定视频帧内的视频中的空间冗余。帧间译码依赖于时间预测来减小或移除一视频序列的相邻帧内的视频中的时间冗余。对于帧间译码来说,视频编码器50执行运动估计以追踪在两个或两个以上邻近帧之间的匹配视频块的移动。帧内模式(I模式)可指代基于空间的压缩模式,且例如预测(P模式)或双向(B模式)的帧间模式可指代基于时间的压缩模式。如图2中所展示,视频编码器50接收待编码的视频帧内的当前视频块。在图2的实例中,视频编码器50包括预测单元32、参考帧存储装置34、块变换单元38、RD量化单元40、反量化单元42、反变换单元44和CABAC译码单元46。还可包括解块滤波器(未图示)以对块边界滤波以移除块假影。视频编码器50还包括求和器48和求和器51。预测单元32通常表示帧内预测单元和/或帧间预测单元。在编码过程期间,视频编码器50接收待译码的视频块,且预测单元32执行预测译码技术。对于,帧间译码,预测单元32将待编码的视频块与一个或一个以上视频参考帧或切片中的各个块进行比较以便界定预测块。对于帧内译码,预测单元32基于同一译码单元内的相邻数据而产生预测块。预测单元32输出预测块,且加法器48从正经译码的视频块减去预测块以便产生残余块。对于帧间译码,预测单元32可包含:运动估计和运动补偿单元,其识别指向预测块的运动向量并基于所述运动向量而产生预测块。通常,将运动估计视作产生运动向量(其估计运动)的过程。举例来说,运动向量可指示预测帧内的预测块相对于当前帧内正经译码的当前块的位移。通常将运动补偿视作基于由运动估计确定的运动向量而获取或产生预测块的过程。如所提及,对于帧内译码,预测单元32基于同一译码单元内的相邻数据而产生预测块。一个或一个以上帧内预测模式可界定可如何界定帧内预测块。视频编码器50通过从正译码的原始视频块减去由预测单元32产生的预测视频块而形成残余视频块。求和器48执行此减法运算。变换单元38对残余块应用例如离散余弦变换(DCT)或概念上类似的变换等变换,从而产生包含残余变换块系数的视频块。变换单元38(例如)可执行由H.264标准界定的概念上类似于DCT的其它变换。还可使用小波变换、整数变换、子带变换或其它类型的变换。在任一情况下,变换单元38将变换应用于残余块,从而产生残余变换系数的块。所述变换可将残余信息从像素域转换到频率域。RD量化单元40(在本文中还被称作“量化单元40”)量化残余变换系数以进一步减小位速率。具体来说,量化单元40执行下文中更详细描述的量化技术中的一者或一者以上以便考虑到由CABAC单元46执行的CABAC译码。以此方式,量化单元40可实施速率失真模型并实现所要量化水平,所述所要量化水平(例如)针对给定速率或位预算而实现所要数目的位。在量化之后,CABAC单元46根据CABAC方法对经量化的变换系数进行熵译码以进一步压缩数据。在由CABAC单元46熵译码之后,可将经编码的视频发射到另一装置或存档以用于稍后发射或检索。反量化单元42和反变换单元44分别应用反量化和反变换以重新建构像素域中的残余块以用作参考块。求和器51将经重新建构的残余块添加到由运动补偿单元36产生的经运动补偿的预测块以产生经重新建构的视频块,以供存储在参考帧存储装置34中。经重新建构的视频块可由预测单元32用作参考块以对后续视频帧中的块进行帧间编码。可将预测误差E(x,y)(即,正编码的块I(x,y)与预测块P(x,y)之间的差异)表示为变换基函数fij(x,y)的经加权和: E ( x , y ) = Σ i = 1 N Σ j = 1 N c ij f ij ( x , y ) ]]>其中x和y界定视频块内的给定系数的位置,且cij为有时被称作预测误差系数的权重因子。通常在8×8(N=8)或4×4(N=4)块的基础上执行变换。可随后如下量化权重cij:lij=Q(cij,QP)其中将lij称作经量化系数或水平,QP为量化参数,且Q为界定量化步长的量化矩阵。量化的操作引起信息的损失。然而,可用较小数目的位来表示经量化系数,进而节省发射带宽、存储空间和处理资源。常规上通过调整QP的值来控制压缩的水平(信息的损失)。量化变换系数与运动向量和一些控制信息一起可形成元素的完整译码序列。在从编码装置发射到解码装置之前,所有这些元素通常经熵译码,以便进一步减小表示所述元素所需的位的数目。在解码器侧,通过首先以与编码器中的方式相同的方式建构当前帧中的块的预测并将经压缩的预测误差添加到所述预测而获得当前帧中的块。通过如下将反变换应用于解经量化系数而找出经压缩的预测误差: E ~ ( x , y ) = Σ i = 1 N Σ j = 1 N r ij f ~ ij ( x , y ) ]]>其中rij为解量化(还被称作重新建构)系数。可由反量化来计算系数rij:xa0xa0rij=Q-1(lij,QP)可将经重新建构帧R(x,y)与原始帧I(x,y)之间的差异称作重新建构误差。常规上,视频编码器解码器中的变换系数的量化通常基于均一重新建构量化器(URQ)。由编码器界定用于量化数据的分类规则。量化的一个实例为所谓的死区加均一阈值量化(DZ-UTQ)方法。以下等式界定所述死区量化器,其中f0表示死区参数,其中0≤f0≤0.5:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="654"/>其中lij对应于与给定QP相关联的水平。概念上,可通过将lij乘以对应QP而导出对应于水平lij的重新建构值rij:rij=Iij·QP由于为了简化的目的而忽略用于对应基函数的规格化的不同缩放因子,因此等式ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="464"/>和rij=Iij·QP表示实际上指定用于MPEG-4AVC的等式的数学简化版本。在H.264和MPEG-4AVC中,可根据以下等式来执行量化:lij=sgn(cij)[|cij|·Q(QP%6,i,j)+f]/215+QP/6,i,j=0,...,3其中Q表示量化矩阵,%表示模除(modularxa0division),且f对于帧内帧等于215+QP/6/3且对于帧间帧等于215+QP/6/6。可根据以下等式来执行系数的解量化:rij=Iij·R(QP%6,i,j),i,j=0,...,3其中R表示解量化矩阵。对于QP%6=0.1、......、5,所述值与Q和R相关联且可经预计算和存储。可使用曲折扫描或另一扫描次序对给定块中的系数排序(扫描),从而形成一维经排序系数向量。还可将例如曲折扫描等扫描称作串行化,原因在于与由块界定的二维图案相比而产生一系列一维系数。图3为4×4块的实例曲折扫描。曲折扫描通常假设,在应用二维(2D)变换之后,具有最多能量的变换系数(即,较高值系数)对应于低频变换函数,且朝向如图3中所描绘的块的左上方而定位。因此,在经由曲折扫描而产生的系数向量中,较高量值系数将最可能朝向一维经排序系数向量的开始而出现。在量化之后,大多数低能量系数可等于0。CABAC为一种对用于H.264/AVC中的变换系数进行译码的方法。图2的CABAC编码单元46可执行所述译码。一般来说,使用CABAC对任何数据符号进行译码可涉及以下阶段:二值化、上下文模型选择、算术编码和概率更新。对于二值化,CABAC单元46在算术译码之前将任何非二进制值化的符号转换成二进制码。在上下文模型选择中,CABAC单元46(例如)视与最近经译码的数据符号相关联的统计而从可用模型的选择中挑选上下文模型。“上下文模型”为经二值化符号的一个或一个以上二进制值的概率模型。可视最近经译码的数据符号的统计而从可用模型的选择中挑选此模型。上下文模型存储为“1”或“0”的每一二进制值的概率。对于算术编码,CABAC单元46根据选定概率模型(还被称作上下文模型)而对每一二进制值进行编码。基于实际译码值(例如,如果二进制值为“1”,则增大“1”的频率计数)而更新(概率更新)选定概率模型。CABAC中的概率估计可基于使用有限状态机(FSM)的表驱动估计器。在此情况下,CABAC中的每一概率模型可从具有相关联概率值p的128个不同状态中取得一者。可由“最不可能符号”(其为两个二进制决策“0”或“1”中的最不可能者)的六十四个单独概率状态之间的转变过程来执行概率更新。可针对经二值化符号的每一位(或“二进制值”)而重复上下文模型选择、算术编码和概率更新。由CABAC单元46使用CABAC的变换系数包括所谓的重要性映射的译码和非零系数的译码。如果块具有非零系数,则对二进制值化重要性映射进行编码。对于扫描次序中的每一系数,发射一位符号significant_coeff_flag。如果significant_coeff_flag符号为1,即,如果非零系数存在于相应扫描位置处,则发送另外一位符号last_significant_coeff_flag。此last_significant_coeff_flag符号指示当前非零系数是否为块内的最后非零(last_significant_coeff_flag=1)或另外的非零系数是否跟随(last_significant_coeff_flag=0)。为了对重要性映射进行编码,多达十五个不同概率模型可用于significant_coeff_flag和last_significant_coeff_flag两者。模型和因此对应上下文指数的选择可视扫描位置而定。为了对非零水平coeff_abs_level_minusxa01=|lij|-1进行编码,可使用十个上下文,其中上下文中的五者用于对二进制表示的第一位进行译码且另外五个专用于对第二到第十四位进行译码。可如下由CABAC单元46选择上下文:1.将参数NumLg1和NumEq1分别设定成块中迄今经编码的大于和等于1的系数的数目。对非零水平进行编码,且因此以反扫描次序来更新参数NumLg1和NumEq1,即,对应于高频变换函数的系数先被编码。2.可由ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="700"/>确定经二值化符号的第一位的上下文。3.可由Ctx2=min(4,NumLg1)选择经二值化符号的第2到第14位的上下文。CABAC单元46还可支持具有固定分布的旁通模式。coeff_abs_level_minusxa01的二进制表示中的其它位可通过旁通模式。最终,可对于每一非零系数使用一位而发送非零系数的正负号,例如,其中1指示正的且0指示负的(或反之亦然)。需要为每一N×N视频块(在给定其变换系数cij的情况下)找出对应经量化系数lij(其确定重新建构的系数rij),以使得在对系数进行译码的速率R受到约束的条件下最小化预测误差E(x,y)与预测误差的经重新建构版本ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="138"/>之间的均方差(MSE)失真D。换句话说,目标为最小化以下表达式:在Rbudget的条件下,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="528"/>可使用其它添加性失真度量来替代MSE,例如,活动经加权的MSE。可通过转换到等效非约束问题(通过使用拉格朗日乘数λ来“合并”速率和失真)而解决最小化以上等式的速率约束问题。在此情况下,未约束问题变成系数水平的确定(对于固定λ),此导致最小总拉格朗日成本经界定为: J ( λ ) = D ( E ( x , y ) - E ~ ( x , y ) ) + λR . ]]>在H.264的情况下,给定块的重新建构方差ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="700"/>与量化方差ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="303"/>成比例。速率R为对经量化系数lij进行译码所需的位的数目。以下论述的所提出算法找出总拉格朗日成本函数J(λ)的值接近其最小值的经量化系数值lij。由于MPEG-4AVC中所使用的变换为正交的,因此拉格朗日成本J(λ)可按ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="470"/>而计算。在此情况下,J(λ,cij,Iij)为对于在经量化到水平lij时的系数cij的拉格朗日成本。换句话说:J(λ,cij,Iij)=err(cij,Iij)+λ·bits(Iij)。量化误差err(cij,Iij)与(rij-cij)2成比例:err(cij,Iij)=N(QP%6,i,j)·(rij-cij)2。此外,QP表示量化参数且%表示模除。N(QP%6,i,j)表示规格化矩阵。编码质量通常随着QP变小而增加。即,QP的较小值通常对应于较少量化和因此较高质量编码。或者,编码质量可随着QP变小而降低(如果以所述方式界定QP的话)。在量化矩阵Q和解量化矩阵R的情况下,规格化矩阵N(QP%6,i,j)的值可仅视由i和j和QP%6=0、1、...、5的值所指定的块中的位置而定。可通过使用(例如)如对于ITUxa0H.264而界定的CABAC的一部分对lij进行编码而计算对值lij进行译码所需的位的数目(“bits(lij)”)。然而,并非执行所有CABAC步骤,RD量化单元40可为了量化的目的而仅执行CABAC的头两个步骤。这头两个步骤包括二值化和上下文模型选择。接着,不再调用算术译码器来执行二进制算术译码,而是RD量化单元40可估计对每一二进制值进行译码所需的位的数目。假设经选择以用于给定二进制值的上下文对应于有限状态机中的状态m,可将对给定二进制值进行译码所需的位的所估计数目表示为经指派到状态m的概率p的熵。RD量化单元40针对每一宏块确定一次每一二进制值的上下文便可足够。对于每一系数cij,最多可测试水平|Iij|的3个可能值:0、ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="83"/>和ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="97"/>与单回合实例一样,在此二回合方法中,可如下计算4×4块值ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="84"/>和ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="94"/> I ij float = | c ij | · Q ( QP % 6 , i , j ) / 2 15 + QP / 6 , ]]> I ij floor = floor ( I ij float ) , ]]> I ij ceil = I ij floor + 1 . ]]>可假设使用曲折扫描对给定块中的系数排序(扫描),所述曲折扫描产生一维经排序系数向量。可将经排序系数表示为ci,其中i=0、...、M,且(例如)对于4×4块,M等于15,且对于8×8块,M等于63。根据本发明,RD量化单元40可如下产生经量化系数/水平Ii:1.在假设系数ck(k=M、M-1、...、0)为块中的最后非零系数(即,用于扫描位置k的last_significant_coeff_flag等于1)的情况下,计算拉格朗日成本Jk(λ)并产生经量化系数的向量lk。a.对于每一系数ci,i=k-1、...、0,在量化值Ii等于值(例如,0、Ifloor和Iceil)的预选定集合时,计算其拉格朗日成本J(λ,ci,Ii)。2.挑出使J(λ,ci,Ii)最小化的值Ii并使用对应于选定值Ii的J(λ,ci,Ii)来更新拉格朗日成本Jk(λ)。可如下增加由RD量化单元40执行的量化技术的速度:1.如果系数ci离Ifloor比离Iceil更近(例如由Ifloat与Ifloor或Iceil之间的绝对距离所测量),则在以上步骤1.a中仅可考虑值Ifloor。2.如果系数ck离Ifloor比离Iceil更近且Ifloor等于零,则系数ck不可能是最后非零系数。因此,在此情况下,对于此值k,可跳过拉格朗日成本Jk(λ)的计算。3.Jk(λ)的计算可在Jk(λ)开始随着k减小而增大时而终止。总之,RD量化单元40可量化支持CABAC的视频译码过程的视频块的系数。RD量化单元40可:产生视频块的经量化系数的多个集合,其中基于视频块的系数中的特定一者对应于视频块的最后非零系数的假设来界定经量化系数集合中的每一者;估计与经由CABAC而对视频块进行译码相关联的多个成本,其中所估计成本分别基于经量化系数集合中的不同者;选择与最低成本相关联的经量化系数集合中的给定一者;以及将经量化系数集合中的所述给定一者输出到CABAC编码单元46。CABAC编码单元46可接着对经量化系数集合中的所述给定一者执行CABAC过程以将经量化系数集合中的所述给定一者熵译码成位流,并输出所述位流。量化单元40可通过计算与速率失真模型相关联的拉格朗日成本函数而估计成本。与经量化系数集合中的选定一者相关联的特定成本界定与所述多个成本相关联的位的最低数目。量化单元40可存储指示位的所述最低数目的值,所述最低数目与所述特定成本相关联。拉格朗日成本函数可界定与经量化系数集合中的经量化系数中的每一者相关联的个别系数拉格朗日成本的集合。对于等于零、下取整数值和上取整数值的经量化系数的值,量化单元40计算与经量化系数集合中的经量化系数相关联的个别系数拉格朗日成本的集合。在上文中描述这些值的实例。一般来说,下取整数值是基于视频块的系数中的个别一者的绝对值、量化参数和量化矩阵,且上取整数值包含下取整数值加一。为了使此量化过程加速,量化单元40可实施如同以上所提及的技术的加速技术。举例来说,对于经量化系数中的个别一者,如果经量化系数中的所述个别一者离下取整数值比离上取整数值更近,则量化单元40可跳过与针对等于上取整数值的值的经量化系数中的个别一者相关联的个别系数拉格朗日成本的计算。而且,如果视频块的系数中的所述特定一者(对应于经量化系数集合中的一者的视频块的最后非零系数)界定离下取整数值比离上取整数值更近的值,且如果下取整数值等于零,则RD量化单元40可跳过估计与对经量化系数集合中的那一者的视频块进行译码相关联的特定成本。此外,RD量化单元40可在界定与集合中的特定一者相关联的特定拉格朗日成本的总和开始随着视频块的系数的值减小而增大时终止估计与集合中的所述特定一者相关联的多个成本。这些或其它技术可用于在不使经编码视频的质量降级的情况下使量化过程加速。图4为说明视频解码器60的实例的框图,所述视频解码器60对以本文中所描述的方式进行编码的视频序列进行解码。视频解码器60包括:CABAC解码单元52,其执行由图3的CABAC单元46执行的编码的互反解码功能。视频解码器60可执行视频帧内的块的帧内解码和帧间解码。在图4的实例中,视频解码器60包括CABAC解码单元52(上文所提及)、运动补偿单元54、反量化单元56、反变换单元58和参考帧存储装置62。视频解码器60还包括求和器64。任选地,视频解码器60还可包括:解块滤波器(未图示),其对求和器64的输出滤波。图4说明用于视频块的帧间解码的视频解码器60的时间预测组件。尽管在图4中未展示,但视频解码器60还可包括用于一些视频块的帧内解码的空间预测组件。在由CABAC解码单元52执行的CABAC解码之后,运动补偿单元54接收运动向量和来自参考帧存储装置62的一个或一个以上经重新建构参考帧。反量化单元56反量化(即,解量化)经量化块系数。反量化过程可为如由H.264解码所界定的常规过程。反变换单元58将反变换(例如,反DCT或概念上类似的反变换过程)应用于变换系数以便产生在像素域中的残余块。运动补偿单元54产生运动补偿块,求和器64使所述运动补偿块与残余块相加以形成经解码块。如果需要,还可应用解块滤波器对经解码的块进行滤波以便移除块假影。接着将经滤波的块放置于参考帧存储装置62中,参考帧存储装置62从运动补偿提供参考块且还产生到驱动显示装置(例如,图1的装置28)的经解码视频。图5为说明由视频编码器50执行的一回合技术的流程图。如所展示,速率失真(RD)量化单元40基于非零系数假设而产生经量化系数集合(101)。具体来说,RD量化单元40假设给定系数为最后非零系数且基于此假设而计算视频块的系数集合。RD量化单元40接下来假设另一系数为最后非零系数且基于此假设而产生视频块的另一系数集合,等等。对于经量化系数集合中的每一者,量化单元基于拉格朗日成本函数而估计成本(102)。具体来说,对于每一集合,RD量化单元40确定在多个可能值(例如,零、下取整数值和上取整数值)处的每一系数的个别拉格朗日成本函数。下取整数值可基于视频块的系数中的个别一者的绝对值、量化参数和量化矩阵(或其参数),且上取整数值可包含下取整数值加一。RD量化单元40选择具有最低总拉格朗日成本的经量化系数集合(103)。具体来说,RD量化单元40对一集合的每一系数的最低个别拉格朗日成本求和,且针对每一可能集合而重复此过程。而且,拉格朗日成本权衡速率和失真的成本。RD量化单元40选择具有最低总拉格朗日成本的集合(103),且RD量化单元40将经量化系数的选定集合输出到CABAC编码单元46(104)。CABAC编码单元46基于经量化系数的选定集合和任何其它语法参数而执行CABAC以产生经译码的位流(105),并输出经译码的位流(106)。图6为更详细地说明估计成本的示范性过程的另一流程图。具体来说,量化单元40计算为零、下取整数值和上取整数值的值的每一系数的个别拉格朗日成本函数。而且,下取整数值可基于视频块的系数中的个别一者的绝对值、量化参数和量化矩阵(或从所述矩阵映射的参数),且上取整数值可包含下取整数值加一。如以上所提及,RD量化单元40可如何计算4×4块的系数cij的下取整数值(Ifloor)和上取整数值(Iceil)的一实例如下:Ifloat=|cij|·Q(QP%6,i,j)/215+QP/6,Ifloor=floor(Ifloat),Iceil=Ifloor+1。而且,操作下取整数(Ifloat)表示与Ifloat相关联的最低值,QP表示量化参数,且Q表示量化矩阵,例如针对H.264/AVC界定的量化矩阵。QP%6、i和j的值可用于界定来自矩阵Q的参数。函式%表示模除。RD量化单元40选择用于每一系数的最低成本个别系数拉格朗日成本函数(111),且(例如)通过对选定的个别系数拉格朗日成本求和而确定集合的总拉格朗日成本(112)。如果存在要考虑的经量化系数的另一集合(是支路113),则RD量化单元40重复此步骤过程(110-112)。具体来说,对于由给定系数为最后非零系数的假设所界定的系数的每一集合,量化单元40重复此步骤过程(110-112)。一旦已针对经量化系数的每一可能集合(由最后非零系数假设所界定)而确定总拉格朗日成本,则RD量化单元40选择具有最低总拉格朗日成本的经量化系数集合(114)。图7到图9说明可用于在不实质上牺牲经量化系数的质量的情况下使量化过程加速的任选技术。可个别或共同使用图7到图9的技术。图7到图9的技术最适用于一回合量化过程,但这些技术中的一些(具体来说,图7的技术)也可用在下文更详细论述的二回合量化中。如图7中所展示,如果个别经量化系数离下取整数比离上取整数更近(121的是分支),则RD量化单元40可跳过对与上取整数值处的个别经量化系数相关联的个别系数拉格朗日成本的计算(122)。在此情况下,RD量化单元40可假设与个别经量化系数相关联的个别系数拉格朗日成本将在零或下取整数值处被最小化。因此,在此情况下,RD量化单元40可避免与拉格朗日成本(与上取整数值处的个别经量化系数相关联)的计算相关联的不必要的计算。然而,如果个别经量化系数离下取整数不比离上取整数更近(121的否分支),则不跳过计算(123)。在图8的技术中,RD量化单元40确定下取整数值是否等于零(131)且对应于最后非零系数的特定系数离下取整数是否比离上取整数更近(132)。如果这些可能性中的两者均为真(131的是分支和132的是分支),则RD量化单元40可跳过估计与对特定经量化系数集合(与那个特定最后非零系数相关联)的视频块进行译码相关联的特定成本(133)。在此情况下,RD量化单元40可假设那个特定经量化系数集合的总拉格朗日成本将不包含最小值,且即使对值进行充分计算也将不被选择。因此,在此情况下可跳过特定成本的计算。然而,如果这些可能性中的任一者为假(131的否分支或132的否分支),则RD量化单元40不跳过特定成本的估计。图8的技术为RD量化单元40用于避免一些不必要计算的另一方式。在图9的技术中,RD量化单元40监视界定特定成本的总和,即监视用于界定与系数的给定集合相关联的总拉格朗日成本的经量化系数中的每一者的个别拉格朗日成本的总和。如果用以界定特定成本中的一者的总和开始随着视频块的系数的值减小而增大(141的是分支),则RD量化单元40终止对那个集合的多个成本的估计(142)。在此情况下,RD量化单元40可假设与系数的那个给定集合相关联的总拉格朗日成本将不是整体最小值。因此,在识别了步骤141的可能性时可避免计算(141的是分支)。在总和随着视频块的系数的值减小而不增大时(141的否分支)计算不终止(143)。如以上所提及,本发明还涵盖二回合方法。在二回合方法中,本发明的技术可包括:在第一回合中估计视频块的最后非零系数;以及接着基于所估计的最后非零系数实际上为视频块的最后非零系数的假设而在第二回合中产生视频块的经量化系数集合。单独估计回合可消除执行与不具有如同最后非零系数的正确系数的经量化系数集合相关联的计算的需要。根据本发明,RD量化单元40可根据如以下更详细地概述的此二回合方法而产生经量化系数。如同单回合方法,以下论述的所提出的二回合算法找出总拉格朗日成本函数J(λ)的值接近其最小值的经量化系数值lij。二回合方法的特征可为,与基于彻底搜索而最小化总拉格朗日成本函数J(λ)的方法相比具有较低复杂性。对于每一系数cij,最多可测试水平|Iij|的3个可能值:0、ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="82"/>和ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="98"/>与单回合实例一样,在此二回合方法中,可如下计算4×4块值ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="84"/>和ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="93"/> I ij float = | c ij | · Q ( QP % 6 , i , j ) / 2 15 + QP / 6 , ]]> I ij floor = floor ( I ij float ) , ]]> I ij ceil = I ij floor + 1 . ]]>此外,为了降低复杂性,如果系数cij离ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="83"/>比离ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="69"/>更近(例如,如由ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="79"/>与ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="82"/>或ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="69"/>之间的绝对距离所测量),则仅考虑值ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="109"/>如果cij离水平0比离1更近,则可在无任何其它分析的情况下将水平0指派给cij。换句话说,可在二回合方法的第二回合期间应用图7的技术。可假设使用曲折扫描(例如,如图3中所展示)对给定块中的系数排序(扫描),从而产生一维经排序系数向量。可将经排序系数表示为ci,其中i=0、...、M,且(例如)对于4×4块,M等于15且对于8×8块,M等于63。RD量化单元40可使用于下符号以便计算除了正负号位之外对值Ii进行译码所需的位:significant_coeff_flag(其指示系数是否为非零)、last_significant_coeff_flag(其识别最后非零系数)、和coeff_abs_level_minus1(其表示系数的绝对值减1)。在significant_coeff_flag和last_significant_coeff_flag的情况下,上下文和因此对符号进行译码所需的位可仅视扫描位置i而定。然而,coeff_abs_level_minus1的二进制值的上下文(例如,包括第一二进制值-greater_than_1符号)可视以相反次序扫描的其它非零水平的值而定。换句话说,Ii的上下文视具有指数j的经量化系数的值而定,其中j>i。因此,RD量化单元40可在两个单独回合中获得经量化系数/水平Ii。在第一回合中,RD量化单元40可估计哪一系数应为最后非零系数。可将此所估计的最后非零系数表示为ck。在第二回合中,RD量化单元40可在假设系数ck实际上为块中的最后非零系数的情况下确定并产生经量化系数的最终值。在实施中,RD量化单元40在第一回合中仅考虑系数ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="303"/>其中:i1为ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="198"/>的i的上取整数值,且i0为ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="157"/>的i的上取整数值,或如果此指数不存在,则i0=0。此外,为了降低复杂性,在系数ci(i=i0,...,i1)经量化到li=0时可如下预计算值Jsum以作为量化误差err(ci,Ii)的和: J sum = Σ i = i 0 i 1 err ( c i , 0 ) . ]]>RD量化单元40可在第一回合中执行以下步骤中的一些或全部,所述第一回合用于估计视频块的最后非零系数。1)如果对于系数ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="54"/>,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="215"/>a)更新值Jsum: J sum = J sum - err ( c i 0 , 0 ) . ]]>b)在ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="49"/>为最后非零系数时将块的拉格朗日成本ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="119"/>的近似值计算为: J i 0 ( λ ) = J sum + λ · ( bits last = 1 - bits last = 0 ) . ]]>在此情况下,bitslast=1为指示ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="52"/>为最后非零系数所需的位的数目(即,用于对等于1的last_significant_coeff_flag进行编码的位的数目)的近似值。此外,bitslast=0为指示ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="51"/>不是最后非零系数所需的位的数目(即,用于对等于0的last_significant_coeff_flag进行编码的位的数目)的近似值。c)将开始指数i0更新到i0=i0+1。2)对于系数ci,其中i=i0、......、i1:a)更新值Jsum:Jsum=Jsum-err(ci,0)。b)在ci经量化到0时找出拉格朗日成本J(λ,ci,0)。c)如果系数ci离0比离1更近,则如下计算更新值Jsum:Jsum=Jsum+J(λ,ci,0)d)如果系数ci离1比离0更近,则计算拉格朗日成本的两个额外值:i)Jlast=0(λ,ci,1)-ci经量化到1且不是最后非零系数,ii)Jlast=1(λ,ci,1)-ci经量化到1且是最后非零系数。更新值Jsum:Jsum=Jsum+min(J(λ,ci,0),Jlast=0(λ,ci,1))。在ci为最后非零系数时拉格朗日成本Ji(λ)的近似值为:Ji(λ)=Jsum+Jlast=1(λ,ci,1)在计算对等于1的经量化系数的值进行译码所需的位时,RD量化单元40将greater_than_1符号的上下文固定成5个可能值中的一者。假设具有最小对应值Jk(λ)的系数ck为块中的最后非零系数。在以上步骤中,RD量化单元40在不明确考虑每一可能的最后非零系数的每一可能的情形的情况下估计视频块的最后非零系数。在此情况下,RD量化单元40通过约计与经由CABAC对视频块进行译码相关联的成本而估计最后非零系数。经约计的成本中的不同者对应于为最后非零系数的不同系数。最终所估计的最后非零系数界定最低经约计的成本。可将步骤1视作特殊情况,而可关于大多数系数来执行步骤2。在以上步骤中,RD量化单元40通过将视频块的系数中的每一者依序视作最后非零系数而以连续方式界定经约计成本中的不同者。如此,RD量化单元40在将视频块的系数中的每一者视作最后非零系数时依序将经积累成本向上和向下调整。具体来说,以上步骤2(a)在将Jsum更新为Jsum=Jsum-err(ci,0)的情况下可使经积累成本减小。在此情况下,步骤2(a)可使Jsum变小。另一方面,步骤2(c)和2(d)在Jsum的值经更新为Jsum=Jsum+J(λ,ci,0)或Jsum=Jsum+min(J(λ,ci,0),Jlast=0(λ,ci,1))的情况下可使经积累成本变大。因此,RD量化单元40通过将视频块的系数中的每一者依序视作最后非零系数而以连续方式界定经约计成本中的不同者,且如此通过向上和向下调整来积累总成本。以此方式,RD量化单元40在不明确考虑每一可能的最后非零系数的每一可能的情形的情况下估计视频块的最后非零系数。一旦RD量化单元40已估计出最后非零系数,RD量化单元40便可执行第二回合,所述第二回合基于所估计的最后非零系数实际上为视频块的最后非零系数的假设而产生视频块的经量化系数集合。具体来说,在第二回合中,RD量化单元40在假设在第一回合中所选定的系数ck实际上为视频块中的最后非零系数的情况下确定每一经量化系数的最终值。在此情况下,对于每一系数ci,i=k、...、0,RD量化单元40找出使拉格朗日成本J(λ,ci,Ii)最小化的水平li的值。如先前所描述,可考虑水平Ii的三个不同值,例如,0、ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="79"/>及ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="97"/>为了计算在对水平Ii的值进行编码时的上下文,可使用水平Ij的已选定值,j=k、...、i+1。换句话说,产生经量化系数集合可包含计算与如具有等于零、下取整数值和上取整数值的值的视频块的经量化系数集合中的每一可能非零经量化系数相关联的拉格朗日成本。而且,下取整数值可基于视频块的系数中的个别一者的绝对值、量化参数和量化矩阵,且上取整数值可包含下取整数值加一。图10为说明可使用于上文概述的二回合方法的编码技术的流程图。在此情况下,RD量化单元40估计视频块的最后非零系数(151)。如以上所解释,此估计步骤(151)可包括约计与经由CABAC对视频块进行译码相关联的成本,且经约计的成本中的不同者可对应于为最后非零系数的不同系数。在此情况下,最终所估计的最后非零系数界定最低经约计的成本。此外,在估计步骤(151)期间,RD量化单元40可通过将视频块的系数中的每一者依序视作最后非零系数而以连续方式界定经约计成本中的不同者。如此,RD量化单元40在将视频块的系数中的每一者视作最后非零系数时依序将经积累成本向上和向下调整。接下来,RD量化单元40基于所估计的最后非零系数实际上为最后非零系数的假设而产生经量化系数集合(152)。产生步骤(152)可包括计算与如具有等于零、下取整数值和上取整数值的值的视频块的经量化系数集合中的每一可能非零经量化系数相关联的拉格朗日成本。一旦产生,RD量化单元40可将经量化系数集合输出到CABAC单元46,CABAC单元46对所产生的经量化系数集合执行CABAC以将所产生的经量化系数集合熵译码成位流(153)。经编码的位流可接着输出,且有可能被调制并发射到另一装置。本发明的技术可实施于包括无线手持机和集成电路(IC)或IC集合(即,芯片组)的广泛各种装置或设备中。已描述经提供以强调功能方面的任何组件、模块或单元,且其不一定需要由不同硬件单元等实现。因此,可以硬件、软件、固件或其任何组合来实施本文中所描述的技术。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或单独实施为离散但可共同操作的逻辑装置。如果以软件实施,则可至少部分由包含指令的计算机可读媒体来实现所述技术,所述指令在被执行时执行上文所描述的方法中的一者或一者以上。计算机可读数据存储媒体可形成计算机程序产品的部分,所述计算机程序产品可包括封装材料。计算机可读媒体可包含例如同步动态随机存取存储器(SDRAM)的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。另外或替代地,可至少部分由计算机可读通信媒体来实现所述技术,所述计算机可读通信媒体以指令或数据结构的形式载运或传送代码且可由计算机存取、读取和/或执行。可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一个或一个以上处理器来执行代码。因此,如本文中所使用的术语“处理器”可指代上述结构或适合用于实施本文中所描述的技术的任何其它结构中的任一者。此外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内,或并入于组合的视频编码器-解码器(CODEC)中。而且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。已描述本发明的各个方面。这些和其它方面处于所附权利要求书的范围内。